package com.niit.users.service;

import java.util.Map;

import com.niit.common.pojo.ApiResponse;
import com.niit.common.util.PageInfoUtil;
import com.niit.users.pojo.TbMananger;
import com.niit.users.pojo.TbPassenger;

/**
 * 用户模块的Service
 *
 * @author wangshMac
 */
public interface IUsersDbService {
    /*----- 管理员概要模块管理开始 -----*/

    /**
     * 添加一条管理员概要
     *
     * @param pojo 管理员概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> saveOneManangerService(TbMananger pojo);

    /**
     * 更新一条管理员概要
     *
     * @param pojo 管理员概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> updateOneManangerService(TbMananger pojo);

    /**
     * 删除一条管理员概要
     *
     * @param condMap 删除的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> deleteOneManangerService(Map<String, Object> condMap);

    /**
     * 查询多条管理员概要
     *
     * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
     * @param condMap      搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是TbMananger
     */
    ApiResponse<TbMananger> findCondListManangerService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

    /**
     * 查询一条管理员概要
     *
     * @param condMap 搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是TbMananger
     */
    ApiResponse<TbMananger> findOneManangerService(Map<String, Object> condMap);
    /*----- 管理员概要模块管理结束 -----*/
    
    /*----- 乘客概要模块管理开始 -----*/

    /**
     * 添加一条乘客概要
     *
     * @param pojo 乘客概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> saveOnePassengerService(TbPassenger pojo);

    /**
     * 更新一条乘客概要
     *
     * @param pojo 乘客概要的对象
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> updateOnePassengerService(TbPassenger pojo);

    /**
     * 删除一条乘客概要
     *
     * @param condMap 删除的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是Object
     */
    ApiResponse<Object> deleteOnePassengerService(Map<String, Object> condMap);

    /**
     * 查询多条乘客概要
     *
     * @param pageInfoUtil 封装的分页对象;{{@link PageInfoUtil}
     * @param condMap      搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是TbPassenger
     */
    ApiResponse<TbPassenger> findCondListPassengerService(PageInfoUtil pageInfoUtil, Map<String, Object> condMap);

    /**
     * 查询一条乘客概要
     *
     * @param condMap 搜索的条件
     * @return 封装的ApiResponse;详情参见:{@link ApiResponse}},泛型是TbPassenger
     */
    ApiResponse<TbPassenger> findOnePassengerService(Map<String, Object> condMap);
    /*----- 乘客概要模块管理结束 -----*/
}